#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N=2e5+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int xb,yb;
void solve()
{
	cin>>xb>>yb;

	int r=abs(xb)+abs(yb);
	for(int i=0;i<=xb;i++)
	{
		for(int j=0;j<=yb;j++)
		{
			if(2*(i+j)==r&&2*(xb-i+yb-j)==r) {cout<<i<<" "<<j<<'\n';return;}
		}
	}
	cout<<-1<<" "<<-1<<'\n';


	
}

int main()
{
	close();
	int T; cin>>T;
	while (T--) solve();
	return 0;
}
//a点坐标为0 0
//知道b点坐标
//c坐标x y大于0
//xc,yc小于xb yb 对应一个 xc,yc都大于xb yb的坐标